home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / sendun1a / wsksock.bas < prev   
BASIC Source File  |  1999-10-21  |  37KB  |  928 lines

  1. Attribute VB_Name = "WSKSOCK"
  2. 'date stamp: sept 1, 1996 (for version control, please don't remove)
  3.  
  4. 'WINSOCK HEADER TAKEN FROM "ALT.WINSOCK.PROGRAMMING"
  5.  
  6. Option Explicit
  7.  
  8. Public Const FD_SETSIZE = 64
  9.  
  10. Type fd_set
  11.     fd_count As Integer
  12.     fd_array(FD_SETSIZE) As Integer
  13. End Type
  14.  
  15. Type timeval
  16.     tv_sec As Long
  17.     tv_usec As Long
  18. End Type
  19.  
  20. Type HostEnt
  21.     h_name As Long
  22.     h_aliases As Long
  23.     h_addrtype As Integer
  24.     h_length As Integer
  25.     h_addr_list As Long
  26. End Type
  27.  
  28. Public Const hostent_size = 16
  29.  
  30. Type servent
  31.     s_name As Long
  32.     s_aliases As Long
  33.     s_port As Integer
  34.     s_proto As Long
  35. End Type
  36.  
  37. Public Const servent_size = 14
  38.  
  39. Type protoent
  40.     p_name As Long
  41.     p_aliases As Long
  42.     p_proto As Integer
  43. End Type
  44. Public Const protoent_size = 10
  45.  
  46. Public Const IPPROTO_TCP = 6
  47. Public Const IPPROTO_UDP = 17
  48.  
  49. Public Const INADDR_NONE = &HFFFFFFFF
  50. Public Const INADDR_ANY = &H0
  51.  
  52. Type sockaddr
  53.     sin_family As Integer
  54.     sin_port As Integer
  55.     sin_addr As Long
  56.     sin_zero As String * 8
  57. End Type
  58.  
  59. Public Const sockaddr_size = 16
  60. Public saZero As sockaddr
  61.  
  62. Public Const WSA_DESCRIPTIONLEN = 256
  63. Public Const WSA_DescriptionSize = WSA_DESCRIPTIONLEN + 1
  64.  
  65. Public Const WSA_SYS_STATUS_LEN = 128
  66. Public Const WSA_SysStatusSize = WSA_SYS_STATUS_LEN + 1
  67.  
  68. Type WSADataType
  69.     wVersion As Integer
  70.     wHighVersion As Integer
  71.     szDescription As String * WSA_DescriptionSize
  72.     szSystemStatus As String * WSA_SysStatusSize
  73.     iMaxSockets As Integer
  74.     iMaxUdpDg As Integer
  75.     lpVendorInfo As Long
  76. End Type
  77.  
  78. Public Const INVALID_SOCKET = -1
  79. Public Const SOCKET_ERROR = -1
  80.  
  81. Public Const SOCK_STREAM = 1
  82. Public Const SOCK_DGRAM = 2
  83.  
  84. Public Const MAXGETHOSTSTRUCT = 1024
  85.  
  86. Public Const AF_INET = 2
  87. Public Const PF_INET = 2
  88.  
  89. Type LingerType
  90.     l_onoff As Integer
  91.     l_linger As Integer
  92. End Type
  93.  
  94. 'C errores
  95. Global Const WSAEINTR = 10004
  96. Global Const WSAEBADF = 10009
  97. Global Const WSAEACCES = 10013
  98. Global Const WSAEFAULT = 10014
  99. Global Const WSAEINVAL = 10022
  100. Global Const WSAEMFILE = 10024
  101.  
  102. 'errores Berkley
  103. Global Const WSAEWOULDBLOCK = 10035
  104. Global Const WSAEINPROGRESS = 10036
  105. Global Const WSAEALREADY = 10037
  106. Global Const WSAENOTSOCK = 10038
  107. Global Const WSAEDESTADDRREQ = 10039
  108. Global Const WSAEMSGSIZE = 10040
  109. Global Const WSAEPROTOTYPE = 10041
  110. Global Const WSAENOPROTOOPT = 10042
  111. Global Const WSAEPROTONOSUPPORT = 10043
  112. Global Const WSAESOCKTNOSUPPORT = 10044
  113. Global Const WSAEOPNOTSUPP = 10045
  114. Global Const WSAEPFNOSUPPORT = 10046
  115. Global Const WSAEAFNOSUPPORT = 10047
  116. Global Const WSAEADDRINUSE = 10048
  117. Global Const WSAEADDRNOTAVAIL = 10049
  118. Global Const WSAENETDOWN = 10050
  119. Global Const WSAENETUNREACH = 10051
  120. Global Const WSAENETRESET = 10052
  121. Global Const WSAECONNABORTED = 10053
  122. Global Const WSAECONNRESET = 10054
  123. Global Const WSAENOBUFS = 10055
  124. Global Const WSAEISCONN = 10056
  125. Global Const WSAENOTCONN = 10057
  126. Global Const WSAESHUTDOWN = 10058
  127. Global Const WSAETOOMANYREFS = 10059
  128. Global Const WSAETIMEDOUT = 10060
  129. Global Const WSAECONNREFUSED = 10061
  130. Global Const WSAELOOP = 10062
  131. Global Const WSAENAMETOOLONG = 10063
  132. Global Const WSAEHOSTDOWN = 10064
  133. Global Const WSAEHOSTUNREACH = 10065
  134. Global Const WSAENOTEMPTY = 10066
  135. Global Const WSAEPROCLIM = 10067
  136. Global Const WSAEUSERS = 10068
  137. Global Const WSAEDQUOT = 10069
  138. Global Const WSAESTALE = 10070
  139. Global Const WSAEREMOTE = 10071
  140.  
  141. 'errores extendidos
  142. Global Const WSASYSNOTREADY = 10091
  143. Global Const WSAVERNOTSUPPORTED = 10092
  144. Global Const WSANOTINITIALISED = 10093
  145. Global Const WSAHOST_NOT_FOUND = 11001
  146. Global Const WSATRY_AGAIN = 11002
  147. Global Const WSANO_RECOVERY = 11003
  148. Global Const WSANO_DATA = 11004
  149. Global Const WSANO_ADDRESS = 11004
  150.  
  151. '---ioctl Constants
  152. Public Const FIONREAD = &H8004667F
  153. Public Const FIONBIO = &H8004667E
  154. Public Const FIOASYNC = &H8004667D
  155.  
  156. #If Win16 Then
  157. '---Fucniones OS
  158.     Public Declare Function PostMessage Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Integer
  159.     Public Declare Sub MemCopy Lib "Kernel" Alias "hmemcpy" (Dest As Any, Src As Any, ByVal cb&)
  160.     Public Declare Function lstrlen Lib "Kernel" (ByVal lpString As Any) As Integer
  161. '---ctes notificaci≤n async
  162.     Public Const SOL_SOCKET = &HFFFF
  163.     Public Const SO_LINGER = &H80
  164.     Public Const FD_READ = &H1
  165.     Public Const FD_WRITE = &H2
  166.     Public Const FD_OOB = &H4
  167.     Public Const FD_ACCEPT = &H8
  168.     Public Const FD_CONNECT = &H10
  169.     Public Const FD_CLOSE = &H20
  170. '---funciones de socket
  171.     Public Declare Function accept Lib "Winsock.dll" (ByVal s As Integer, addr As sockaddr, addrlen As Integer) As Integer
  172.     Public Declare Function bind Lib "Winsock.dll" (ByVal s As Integer, addr As sockaddr, ByVal namelen As Integer) As Integer
  173.     Public Declare Function closesocket Lib "Winsock.dll" (ByVal s As Integer) As Integer
  174.     Public Declare Function connect Lib "Winsock.dll" (ByVal s As Integer, addr As sockaddr, ByVal namelen As Integer) As Integer
  175.     Public Declare Function ioctlsocket Lib "Winsock.dll" (ByVal s As Integer, ByVal cmd As Long, argp As Long) As Integer
  176.     Public Declare Function getpeername Lib "Winsock.dll" (ByVal s As Integer, sName As sockaddr, namelen As Integer) As Integer
  177.     Public Declare Function getsockname Lib "Winsock.dll" (ByVal s As Integer, sName As sockaddr, namelen As Integer) As Integer
  178.     Public Declare Function getsockopt Lib "Winsock.dll" (ByVal s As Integer, ByVal level As Integer, ByVal optname As Integer, optval As Any, optlen As Integer) As Integer
  179.     Public Declare Function htonl Lib "Winsock.dll" (ByVal hostlong As Long) As Long
  180.     Public Declare Function htons Lib "Winsock.dll" (ByVal hostshort As Integer) As Integer
  181.     Public Declare Function inet_addr Lib "Winsock.dll" (ByVal cp As String) As Long
  182.     Public Declare Function inet_ntoa Lib "Winsock.dll" (ByVal inn As Long) As Long
  183.     Public Declare Function listen Lib "Winsock.dll" (ByVal s As Integer, ByVal backlog As Integer) As Integer
  184.     Public Declare Function ntohl Lib "Winsock.dll" (ByVal netlong As Long) As Long
  185.     Public Declare Function ntohs Lib "Winsock.dll" (ByVal netshort As Integer) As Integer
  186.     Public Declare Function recv Lib "Winsock.dll" (ByVal s As Integer, ByVal buf As Any, ByVal buflen As Integer, ByVal flags As Integer) As Integer
  187.     Public Declare Function recvfrom Lib "Winsock.dll" (ByVal s As Integer, buf As Any, ByVal buflen As Integer, ByVal flags As Integer, from As sockaddr, fromlen As Integer) As Integer
  188.     Public Declare Function ws_select Lib "Winsock.dll" Alias "select" (ByVal nfds As Integer, readfds As Any, writefds As Any, exceptfds As Any, timeout As timeval) As Integer
  189.     Public Declare Function send Lib "Winsock.dll" (ByVal s As Integer, buf As Any, ByVal buflen As Integer, ByVal flags As Integer) As Integer
  190.     Public Declare Function sendto Lib "Winsock.dll" (ByVal s As Integer, buf As Any, ByVal buflen As Integer, ByVal flags As Integer, to_addr As sockaddr, ByVal tolen As Integer) As Integer
  191.     Public Declare Function setsockopt Lib "Winsock.dll" (ByVal s As Integer, ByVal level As Integer, ByVal optname As Integer, optval As Any, ByVal optlen As Integer) As Integer
  192.     Public Declare Function ShutDown Lib "Winsock.dll" Alias "shutdown" (ByVal s As Integer, ByVal how As Integer) As Integer
  193.     Public Declare Function socket Lib "Winsock.dll" (ByVal af As Integer, ByVal s_type As Integer, ByVal protocol As Integer) As Integer
  194. '---funciones de base de datos
  195.     Public Declare Function gethostbyaddr Lib "Winsock.dll" (addr As Long, ByVal addr_len As Integer, ByVal addr_type As Integer) As Long
  196.     Public Declare Function gethostbyname Lib "Winsock.dll" (ByVal host_name As String) As Long
  197.     Public Declare Function gethostname Lib "Winsock.dll" (ByVal host_name As String, ByVal namelen As Integer) As Integer
  198.     Public Declare Function getservbyport Lib "Winsock.dll" (ByVal Port As Integer, ByVal proto As String) As Long
  199.     Public Declare Function getservbyname Lib "Winsock.dll" (ByVal serv_name As String, ByVal proto As String) As